package com.itlong.cloud.property.dao;

import com.itlong.cloud.POJO.PO.PropertySMSOverviewPO;
import com.itlong.cloud.POJO.VO.property.PropertySMSAccountInfoVO;
import com.itlong.cloud.POJO.VO.property.PropertySMSOverviewVO;
import com.itlong.cloud.abstracts.IAbstractBaseDao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *     短信概览 数据访问接口
 * </desc>
 * @createDate 2017-10-19.
 */
@Mapper
@Repository
public interface IPropertySMSOverviewDao extends IAbstractBaseDao<PropertySMSOverviewPO> {

    /**
     * <desc>
     *      分页查询  短信列表
     * <desc/>
     *
     * @param params 查询参数
     * @return
     * @author ZiXuan
     * @createDate 2017-10-19
     */
    List<PropertySMSOverviewVO> getSimplePage(Map<String,Object> params);

    /**
     * <desc>
     *      获取记录数
     * <desc/>
     *
     * @param params 查询参数
     * @return
     * @author ZiXuan
     * @createDate 2017-10-19
     */
    Integer getCount(Map<String, Object> params);

    /**
     * <desc>
     *      查询短信统计信息
     * <desc/>
     * @param  projectId 查询参数
     * @return 项目相关短信信息返回对象
     * @author ZiXuan
     * @createDate 2017-10-23
     */
    PropertySMSAccountInfoVO getSMSAccountInfo(@Param("projectId")String projectId);

    /**
     * <desc>
     *      查询昨日短信消费计数
     * <desc/>
     * @param  projectId 查询参数
     * @return 项目相关短信信息返回对象
     * @author ZiXuan
     * @createDate 2017-11-17
     */
    Integer getSMSYDayConsumeCount(@Param("projectId")String projectId);
}
